const names : String = "a";
console.log(names);
/*
定义一个Person 类
* */
class Person{
    name(name : String) : void  {
        console.log(name);
    }
}
const xiaoMing = new Person();
xiaoMing.name("I am xiaoMing");

/*
包含的数据类型有：
    any 任意类型
    number
    string
    boolean
    数组
    元组
    枚举enum
    void
    null
    undefined
    never:其它类型包含null和undefined的子类型，表示不会出现的类型
        其它类型不能赋值给never，但是never可以赋值到其它类型
* */
let yuanZu : [String,Number];
yuanZu = ["1",2]
for (const yuanZuKey in yuanZu) {
    console.log(yuanZu[yuanZuKey]);
}
enum Color {
    Red=1,
    Blue=2
}
const borderColor : Color = Color.Blue;
console.log(borderColor)
/*联合类型*/
let lianHeType : String | Number
lianHeType = 1;
console.log(lianHeType);
lianHeType = "字符串"
console.log(lianHeType);
/*
接口，接口不会编译到JS中，因为接口属于TS部分
*/
interface IPerson{
    pName:String,
    pAge:Number,
    sayHi:()=>void
}
let Tom:IPerson = {
    pName:"tom",
    pAge:12,
    sayHi:():void=>{
        console.log(Tom.pName+"  "+Tom.pAge);
    }
}
Tom.sayHi();
